A technique called Redundant Array of Independent Disks (RAID) has been spread to improve the reliability of a storage device. In particular, a storage device using the RAID technique and a thin-provisioning function in combination is adopted in order to reduce the storing region and managing cost in recent years.
A thin-provisioning function is a technique of a storage system that provides a server with the appearance of a capacity more than that of a physical volume. In other words, a thin-provisioning is a function of virtualizing the appearance volume capacity seen from a superordinate device such as a server.
Generally, when a storage capacity is to be increased, restarting of an Operating system (OS) of the superordinate device, which accompanies a halt of service, is needed for recognizing a newly-added Logical Unit Number (LUN) at the superordinate device. Using a thin-provisioning function can make the initial appearance of the size of the LUN seen from the OS more than the physical volume. With this configuration, a physical disk is added to a storage device when the using rate of the LUN increases without stopping the entire system. This makes it possible to increase the capacity of a physical disk without affecting the OS. As the above, the advantage of the thin-provisioning function is excellent in expandability.
In generating a conventional LUN, which does not adopt the thin-provisioning function, a physical disk having a capacity corresponding to the LUN size has to be prepared beforehand. In contrast, the thin-provisioning function starts the operation of the storage device using the least physical disk and adds a physical disk in accordance with rise in the using rate of the LUN, which can operate the storage device at a low cost. At the same time, the using rate of the physical disk can be enhanced.
As the above, the thin-provisioning function is used as a function of dealing with unexpected request of storage expansion (expandability) without halting the service, which is regarded as one of the problems of achieving, for example, a cloud storage system.
Description will now be made in relation to an operation of the thin-provisioning function. Hereinafter, a LUN that is virtualized using the thin-provisioning function is referred to as a thin-provisioning volume (TPV).
Upon receipt of an Input/Output request (I/O) command to a TPV from the superordinate device, the storage device operates as follows.
First of all, if a Read command issued from the superordinate device instructs I/O into and from a region not allocated a physical disk region, the storage device reply to the superordinate device with all-zero data representing an unused region. Conversely, if the Read command instructs I/O into and from a region allocated a physical disk region, the storage device reads the data in the physical region and forwards the read data to the superordinate device.
Next, when the superordinate device completes writing data into the TPV, the storage device allocates a physical disk region necessary for the amount of data written from the superordinate device to the TPV in units of predetermined management units, and then writes the data into the physical disk.    [Patent Literature 1] Japanese Laid-open Patent Publication No. 2011-159241    [Patent Literature 2] Japanese Laid-open Patent Publication No. 2011-13800
In initializing a storage system and restoring backup data from the OS of the superordinate device, a storage system may sometimes write all-zero data into a physical disk region to represent that the physical disk region is unused.
As the above, upon writing all-zero data into a TPV from a superordinate device, a region into which the all-zero data is written is allocated a physical disk region in spite that data is not actually written into the region. This causes a problem of inefficient use of a disk region and also makes it difficult to effectively exert the thin-provisioning function of enhancing the using efficiency of the physical disk and operating the storage system at a low cost.